Score: a Compiler Representation for Heterogeneous Systems
نویسندگان
چکیده
Heterogeneous parallel systems incorporate different models of parallelism within a single machine or across machines and are well suited for many diverse applications [1, 2, 3]. These systems offer a wealth of underutilized resources for achieving high performance, but are more difficult to program than homogeneous systems. Compilers can and should assist in handling this complexity. Previous research has not considered the impact of architectural heterogeneity on the compiler structure [4]. A compiler for heterogeneous systems needs to order transformations based on component architectures, represent diverse architectural features, allow extension to cover new machines, and reuse its transformations and intermediate representation (IR) to target different architectures. A compiler’s IR plays a central role in supporting these capabilities. This paper discusses each of these implications in detail and presents an intermediate representation, Score, that meets the needs of heterogeneity. In addition to incorporating nodes to represent a variety of architectural features, Score supports a new bi-level representation of important language constructs and employs a novel approach to defining the interface between transformations and IR nodes.
منابع مشابه
Compiler Representations for Heterogeneous Processing
The emergence of heterogeneous parallel systems opens the possibility of higher performance for complex, heterogeneous applications. Unfortunately, heterogeneous parallel systems are even more complex to program than homogeneous parallel systems. Programmers should not have to handle all the added complexity of these systems. Instead, compilers should be extended to automatically handle as much...
متن کاملRepresentation of Adsorption Data for the Case of Energetically Heterogeneous Solid Surfaces Using Artificial Neural Network
متن کامل
HPVM: A Portable Virtual Instruction Set for Heterogeneous Parallel Systems
We describe a programming abstraction for heterogeneous parallel hardware, designed to capture a wide range of popular parallel hardware, including GPUs, vector instruction sets and multicore CPUs. Our abstraction, which we call HPVM , is a hierarchical dataflow graph with shared memory and vector instructions. We use HPVM to define both a virtual instruction set (ISA) and also a compiler inter...
متن کاملCombining Processor Virtualization and Split Compilation for Heterogeneous Multicore Embedded Systems
Complex embedded systems have always been heterogeneous multicore systems. Because of the tight constraints on power, performance and cost, this situation is not likely to change any time soon. As a result, the software environments required to program those systems have become very complex too. We propose to apply instruction set virtualization and just-in-time compilation techniques to progra...
متن کاملAn Implementation of the Shared Data Formats Standard for Distributed Shared Memories
Distributed Shared Memory (DSM) is a mechanism by which processes can share data over a network using the memory abstraction 3]. The processors may be heterogeneous, one diierence being that they use incompatible data formats for such basic types as integers. Programmers need a programming mechanism for dealing with these diierences. In this paper we describe a compiler which supports IEEE 1596...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1996